/**
 * get发送异步请求
 * @param {string} url 请求地址
 * @param {object} params 请求参数
 * @param {function} callback 回调函数
 * @param {string||undefined} type 数据类型
 * @param {object} headers 自定义请求头
 */
function get(url, params, callback, type, headers = {}) {
    //Ajax4步
    const xhr = new XMLHttpRequest
    xhr.onreadystatechange = () => {
        if (xhr.readyState === 4) {
            if (xhr.status === 200) {
                //获取数据
                let rea = xhr.responseText
                //type格式
                if (type = 'json') res = JSON.parse(xhr.responseText)
                //
                callback(res)
            } else {
                console.log('有瑕疵：', xhr.status)

            }
        }
    }
    //请求方式 地址
    let temp = []
    for (let key in params) {
        temp.push(`${key}=${params[key]}`)
    }
    //数组变字符串
    xhr.open('get', `${url}?${temp.join('&')}`)

    //请求头
    for (let key in headers) {
        xhr.setRequestHeader(key, headers[key])
    }
    xhr.send(null)
}



/**
 * post发送异步请求
 * @param {string} url 请求地址
 * @param {object} params 请求参数
 * @param {function} callback 回调函数
 * @param {string||undefined} type 数据类型
 * @param {object} headers 自定义请求头
 */
 function post(url,params,callback,type,headers={}){
    //Ajax4步
 const xhr = new XMLHttpRequest
 xhr.onreadystatechange = () =>{
        if(xhr.readyState === 4){
            if(xhr.status === 200){
                //获取数据
                let rea = xhr.responseText
                //type格式
                if(type = 'json') res = JSON.parse(xhr.responseText)
                //
                callback(res)
            }else{
                console.log('有瑕疵：',xhr.status)
    
            }
        }
    }
    //请求方式 地址
    let temp=[]
    for(let key in params){
        temp.push(`${key}=${params[key]}`)
    }
    //数组变字符串
    xhr.open('post',url)
    
    //请求头
    for(let key in headers){
        xhr.setRequestHeader(key,headers[key])
    }
    xhr.send(temp.join('&'))
    }




